"""
3、有一字符串，有字母、数字、空格、其它字符。
1) 统计单词个数。可以使用split()函数。可以用WORD的统计作为参考，
2) 统计每个字母出现次数，未出现的字母次数为0。大小写为同一字母。使用字典来统计。
3) 统计出现的字母。大小写为同一字母。使用集合来统计。
The Mate X supports next-generation 5G networks and
will cost 2,299 euros ($2,606) when released in the summer.
共16个单词。
"""

target_str = "The Mate X supports next-generation 5G networks and will cost 2,299 euros ($2,606) when released in the summer."
target_str = target_str.replace('-', ' ')  # 返回一个新的替换后的字符串
target_str = target_str.lower()  # 预处理掉，大小写不影响处理字母、单词
# print(str)

list_str = target_str.split(" ")
# print(list_str)
cnt_num = 0  # 单词个数

# letter = {{'a': 0}, {'b': 0}, {'c':0}, {}}
lower_letter_dict = {chr(i): (0) for i in range(97, 123)}  # chr(): int-->str
# print(lower_letter_dict)
letter = set()
for i in list_str:
    if i.isalpha() or i.isalnum():
        cnt_num += 1
    for j in i:
        if j.isalpha():
            lower_letter_dict[j] = lower_letter_dict[j] + 1
            letter.add(j)

print("目标字符串的单词个数为 %d" % (cnt_num))
print("目标字符串的每个字母出现个数：")
for i in lower_letter_dict:
    print('{key}:{value}'.format(key=i, value=lower_letter_dict[i]))
print("目标字符串出现的字母种类(不区分大小写):")
print(letter)
